package ve.usb.coord.colision.hibernate;

import java.util.HashSet;
import java.util.Set;



public class PlanDeEstudios implements java.io.Serializable {

    /** Creates a new instance of PlanDeEstudios */
    public PlanDeEstudios() {}

    /**
     * Holds value of property idPlan.
     */
    private long idPlan;

    /**
     * Getter for property idPlan.
     * @return Value of property idPlan.
     */
    public long getIdPlan() {
        return this.idPlan;
    }

    /**
     * Setter for property idPlan.
     * @param idPlan New value of property idPlan.
     */
    public void setIdPlan(long idPlan) {
        this.idPlan = idPlan;
    }
    /**
     * Holds value of property coordinacion.
     */
    private Coordinacion coordinacion;

    /**
     * Getter for property coordinacion.
     * @return Value of property coordinacion.
     */
    public Coordinacion getCoordinacion() {
        return this.coordinacion;
    }

    /**
     * Setter for property coordinacion.
     * @param coordinacion New value of property coordinacion.
     */
    public void setCoordinacion(Coordinacion coordinacion) {
        this.coordinacion = coordinacion;
    }
    /**
     * Holds value of property carrera.
     */
    private String carrera = "";

    /**
     * Getter for property carrera.
     * @return Value of property carrera.
     */
    public String getCarrera() {
        return this.carrera;
    }

    /**
     * Setter for property carrera.
     * @param carrera New value of property carrera.
     */
    public void setCarrera(String carrera) {
        this.carrera = carrera;
    }
    /**
     * Holds value of property nivel.
     */
    private String nivel = "";

    /**
     * Getter for property nivel.
     * @return Value of property nivel.
     */
    public String getNivel() {
        return this.nivel;
    }

    /**
     * Setter for property nivel.
     * @param nivel New value of property nivel.
     */
    public void setNivel(String nivel) {
        this.nivel = nivel;
    }
    /**
     * Holds value of property grupos.
     */
    private Set<Grupo> grupos = new HashSet<Grupo>();

    /**
     * Getter for property grupos.
     * @return Value of property grupos.
     */
    public Set<Grupo> getGrupos() {
        return this.grupos;
    }

    /**
     * Setter for property grupos.
     * @param grupos New value of property grupos.
     */
    public void setGrupos(Set<Grupo> grupos) {
        this.grupos = grupos;
    }

    /**
     * Add an element to set property grupos
     * and sets elements's property planDeEstudios.
     * @param element New element to be added to grupos.
     */
    public void addToGrupos(Grupo element) {
        element.setPlanDeEstudios(this);
        grupos.add(element);
    }

    /**
     * Removes and old element from set grupos 
     * and sets element's property planDeEstudios to null.
     * @param old The element to be removed from grupos
     */
    public void removeFromGrupos(Grupo old) {
        grupos.remove(old);
        old.setPlanDeEstudios(null);
    }
    /**
     * Holds value of property modalidades.
     */
    private Set<Modalidad> modalidades = new HashSet<Modalidad>();

    /**
     * Getter for property modalidades.
     * @return Value of property modalidades.
     */
    public Set<Modalidad> getModalidades() {
        return this.modalidades;
    }

    /**
     * Setter for property modalidades.
     * @param modalidades New value of property modalidades.
     */
    public void setModalidades(Set<Modalidad> modalidades) {
        this.modalidades = modalidades;
    }

    /**
     * Add an element to set property modalidades
     * and sets elements's property planDeEstudios.
     * @param element New element to be added to modalidades.
     */
    public void addToModalidades(Modalidad element) {
        element.setPlanDeEstudios(this);
        modalidades.add(element);
    }

    /**
     * Removes and old element from set modalidades 
     * and sets element's property planDeEstudios to null.
     * @param old The element to be removed from modalidades
     */
    public void removeFromModalidades(Modalidad old) {
        modalidades.remove(old);
        old.setPlanDeEstudios(null);
    }

}